package com.cskaoyan.service;

import com.cskaoyan.bean.bo.OrderRefundBO;
import com.cskaoyan.bean.bo.OrderReplyBO;
import com.cskaoyan.bean.bo.OrderShipBO;
import com.cskaoyan.bean.param.BaseParam;
import com.cskaoyan.bean.vo.OrderChannelVO;
import com.cskaoyan.bean.vo.OrderDetailVO;
import com.cskaoyan.bean.vo.OrderListVO;

import java.util.Date;
import java.util.List;

public interface OrderService {
    /**
     * 获取订单
     * 创建日期：2022/04/06 23:37
     * @param  baseParam
     * @param  orderStatusArray
     * @param  orderId
     * @param  start
     * @param  end
     * @param  userId
     * @param  orderSn
     * @return com.cskaoyan.bean.vo.OrderListVO
     * @author rebaogu
     */
    OrderListVO orderList(BaseParam baseParam, Short orderStatusArray, Integer orderId, Date start, Date end, Integer userId, String orderSn);
    /**
     *  根据订单id 获取详细信息
     * 创建日期：2022/04/07 22:02
     * @param  id
     * @return com.cskaoyan.bean.vo.OrderDetailVO
     * @author rebaogu
     */
    OrderDetailVO orderDetail(Integer id);

    /**
     * 商品评论回复
     * 创建日期：2022/04/08 10:54
     * @param  orderReplyBO
     * @return int
     * @author rebaogu
     */
    int orderReply(OrderReplyBO orderReplyBO);

    /**
     * 退款
     * 创建日期：2022/04/08 11:24
     * @param  orderRefundBO
     * @return int
     * @author rebaogu
     */
    int orderRefund(OrderRefundBO orderRefundBO);

    /**
     * 发货
     * 创建日期：2022/04/08 12:00
     * @param  orderRefundBO
     * @return int
     * @author rebaogu
     */
    int orderShip(OrderShipBO orderRefundBO);

    /**
     * 获取快递信息
     * 创建日期：2022/04/08 12:06
     * @param
     * @return java.util.List<com.cskaoyan.bean.vo.OrderChannelVO>
     * @author rebaogu
     */
    List<OrderChannelVO> orderChannel();

    //删除订单
    void orderDelete(Integer orderId);
}
